package org.apache.commons.logging;

import java.io.Serializable;

public interface ILogLevel {

	public static class LevelConstant implements Serializable {
		/**
		 * 
		 */
		private static final long serialVersionUID = 7723760700653461361L;

		private int level;

		public LevelConstant() {
			level = Integer.MAX_VALUE;
		}

		public LevelConstant(int level) {
			this.level = level;
		}

		/**
		 * Get the int value of this level
		 * @return leve int value
		 */
		public int getIntValue() {
			return level;
		}
	}

	/**
	 * The OFF level provides no logging messages.
	 */
	public static final LevelConstant OFF = new LevelConstant(Integer.MAX_VALUE);

	/**
	 * The SEVERE level indicates a severe failure.
	 */
	public static final LevelConstant SEVERE = new LevelConstant(1000);

	/**
	 * The WARNING level indicates a warning.
	 */
	public static final LevelConstant WARNING = new LevelConstant(900);

	/**
	 * The INFO level indicates an informative message.
	 */
	public static final LevelConstant INFO = new LevelConstant(800);

	/**
	 * The ALL level provides all logging messages.
	 */
	public static final LevelConstant ALL = new LevelConstant(Integer.MIN_VALUE);
	
	/**
	 * The FINE level provides all logging messages.
	 */
	public static final LevelConstant FINE = new LevelConstant(500);
	
	/**
	 * The FINEST level provides all logging messages.
	 */
	public static final LevelConstant FINEST = new LevelConstant(300);
	
}
